18 research outputs found
Why and How to Extract Conditional Statements From Natural Language Requirements
Functional requirements often describe system behavior by relating events to each other, e.g. "If the system detects an error (e_1), an error message shall be shown (e_2)". Such conditionals consist of two parts: the antecedent (see e_1) and the consequent (e_2), which convey strong, semantic information about the intended behavior of a system. Automatically extracting conditionals from texts enables several analytical disciplines and is already used for information retrieval and question answering. We found that automated conditional extraction can also provide added value to Requirements Engineering (RE) by facilitating the automatic derivation of acceptance tests from requirements. However, the potential of extracting conditionals has not yet been leveraged for RE. We are convinced that this has two principal reasons:
1) The extent, form, and complexity of conditional statements in RE artifacts is not well understood. We do not know how conditionals are formulated and logically interpreted by RE practitioners. This hinders the development of suitable approaches for extracting conditionals from RE artifacts.
2) Existing methods fail to extract conditionals from Unrestricted Natural Language (NL) in fine-grained form. That is, they do not consider the combinatorics between antecedents and consequents. They also do not allow to split them into more fine-granular text fragments (e.g., variable and condition), rendering the extracted conditionals unsuitable for RE downstream tasks such as test case derivation.
This thesis contributes to both areas. In Part I, we present empirical results on the prevalence and logical interpretation of conditionals in RE artifacts. Our case study corroborates that conditionals are widely used in both traditional and agile requirements such as acceptance criteria. We found that conditionals in requirements mainly occur in explicit, marked form and may include up to three antecedents and two consequents. Hence, the extraction approach needs to understand conjunctions, disjunctions, and negations to fully capture the relation between antecedents and consequents. We also found that conditionals are a source of ambiguity and there is not just one way to interpret them formally. This affects any automated analysis that builds upon formalized requirements (e.g., inconsistency checking) and may also influence guidelines for writing requirements.
Part II presents our tool-supported approach CiRA capable of detecting conditionals in NL requirements and extracting them in fine-grained form. For the detection, CiRA uses syntactically enriched BERT embeddings combined with a softmax classifier and outperforms existing methods (macro-F_1: 82%). Our experiments show that a sigmoid classifier built on RoBERTa embeddings is best suited to extract conditionals in fine-grained form (macro-F_1: 86%). We disclose our code, data sets, and trained models to facilitate replication. CiRA is available at http://www.cira.bth.se/demo/.
In Part III, we highlight how the extraction of conditionals from requirements can help to create acceptance tests automatically. First, we motivate this use case in an empirical study and demonstrate that the lack of adequate acceptance tests is one of the major problems in agile testing. Second, we show how extracted conditionals can be mapped to a Cause-Effect-Graph from which test cases can be derived automatically. We demonstrate the feasibility of our approach in a case study with three industry partners. In our study, out of 578 manually created test cases, 71.8% can be generated automatically. Furthermore, our approach discovered 80 relevant test cases that were missed in manual test case design. At the end of this thesis, the reader will have an understanding of (1) the notion of conditionals in RE artifacts, (2) how to extract them in fine-grained form, and (3) the added value that the extraction of conditionals can provide to RE
What Makes Agile Test Artifacts Useful? An Activity-Based Quality Model from a Practitioners' Perspective
Background: The artifacts used in Agile software testing and the reasons why
these artifacts are used are fairly well-understood. However, empirical
research on how Agile test artifacts are eventually designed in practice and
which quality factors make them useful for software testing remains sparse.
Aims: Our objective is two-fold. First, we identify current challenges in using
test artifacts to understand why certain quality factors are considered good or
bad. Second, we build an Activity-Based Artifact Quality Model that describes
what Agile test artifacts should look like. Method: We conduct an industrial
survey with 18 practitioners from 12 companies operating in seven different
domains. Results: Our analysis reveals nine challenges and 16 factors
describing the quality of six test artifacts from the perspective of Agile
testers. Interestingly, we observed mostly challenges regarding language and
traceability, which are well-known to occur in non-Agile projects. Conclusions:
Although Agile software testing is becoming the norm, we still have little
confidence about general do's and don'ts going beyond conventional wisdom. This
study is the first to distill a list of quality factors deemed important to
what can be considered as useful test artifacts
Explanation Needs in App Reviews: Taxonomy and Automated Detection
Explainability, i.e. the ability of a system to explain its behavior to
users, has become an important quality of software-intensive systems. Recent
work has focused on methods for generating explanations for various algorithmic
paradigms (e.g., machine learning, self-adaptive systems). There is relatively
little work on what situations and types of behavior should be explained. There
is also a lack of support for eliciting explainability requirements. In this
work, we explore the need for explanation expressed by users in app reviews. We
manually coded a set of 1,730 app reviews from 8 apps and derived a taxonomy of
Explanation Needs. We also explore several approaches to automatically identify
Explanation Needs in app reviews. Our best classifier identifies Explanation
Needs in 486 unseen reviews of 4 different apps with a weighted F-score of 86%.
Our work contributes to a better understanding of users' Explanation Needs.
Automated tools can help engineers focus on these needs and ultimately elicit
valid Explanation Needs
Let's Stop Building at the Feet of Giants: Recovering unavailable Requirements Quality Artifacts
Requirements quality literature abounds with publications presenting
artifacts, such as data sets and tools. However, recent systematic studies show
that more than 80% of these artifacts have become unavailable or were never
made public, limiting reproducibility and reusability. In this work, we report
on an attempt to recover those artifacts. To that end, we requested
corresponding authors of unavailable artifacts to recover and disclose them
according to open science principles. Our results, based on 19 answers from 35
authors (54% response rate), include an assessment of the availability of
requirements quality artifacts and a breakdown of authors' reasons for their
continued unavailability. Overall, we improved the availability of seven data
sets and seven implementations
Automatic ESG Assessment of Companies by Mining and Evaluating Media Coverage Data: NLP Approach and Tool
Context: Sustainable corporate behavior is increasingly valued by society and
impacts corporate reputation and customer trust. Hence, companies regularly
publish sustainability reports to shed light on their impact on environmental,
social, and governance (ESG) factors. Problem: Sustainability reports are
written by companies themselves and are therefore considered a
company-controlled source. Contrary, studies reveal that non-corporate channels
(e.g., media coverage) represent the main driver for ESG transparency. However,
analysing media coverage regarding ESG factors is challenging since (1) the
amount of published news articles grows daily, (2) media coverage data does not
necessarily deal with an ESG-relevant topic, meaning that it must be carefully
filtered, and (3) the majority of media coverage data is unstructured. Research
Goal: We aim to extract ESG-relevant information from textual media reactions
automatically to calculate an ESG score for a given company. Our goal is to
reduce the cost of ESG data collection and make ESG information available to
the general public. Contribution: Our contributions are three-fold: First, we
publish a corpus of 432,411 news headlines annotated as being environmental-,
governance-, social-related, or ESG-irrelevant. Second, we present our
tool-supported approach called ESG-Miner capable of analyzing and evaluating
headlines on corporate ESG-performance automatically. Third, we demonstrate the
feasibility of our approach in an experiment and apply the ESG-Miner on 3000
manually labeled headlines. Our approach processes 96.7 % of the headlines
correctly and shows a great performance in detecting environmental-related
headlines along with their correct sentiment. We encourage fellow researchers
and practitioners to use the ESG-Miner at https://www.esg-miner.com
CiRA : A Tool for the Automatic Detection of Causal Relationships in Requirements Artifacts
Requirements often specify the expected system behavior by using causal relations (e.g., If A, then B). Automatically extracting these relations supports, among others, two prominent RE use cases: Automatic test case derivation and dependency detection between requirements. However, existing tools fail to extract causality from natural language with reasonable performance. In this paper, we present our tool CiRA (Causality detection in Requirements Artifacts), which represents a first step towards automatic causality extraction from requirements. We evaluate CiRA on a publicly available data set of 61 acceptance criteria (causal: 32; non-causal: 29) describing the functionality of the German Corona-Warn-App. We achieve a macro1 score of 83 %, which corroborates the feasibility of our approach. © 2021 CEUR-WS. All rights reserved.open access</p
CiRA : A Tool for the Automatic Detection of Causal Relationships in Requirements Artifacts
Requirements often specify the expected system behavior by using causal relations (e.g., If A, then B). Automatically extracting these relations supports, among others, two prominent RE use cases: Automatic test case derivation and dependency detection between requirements. However, existing tools fail to extract causality from natural language with reasonable performance. In this paper, we present our tool CiRA (Causality detection in Requirements Artifacts), which represents a first step towards automatic causality extraction from requirements. We evaluate CiRA on a publicly available data set of 61 acceptance criteria (causal: 32; non-causal: 29) describing the functionality of the German Corona-Warn-App. We achieve a macro1 score of 83 %, which corroborates the feasibility of our approach. © 2021 CEUR-WS. All rights reserved.open access</p
What makes agile test artifacts useful? : An activity-based quality model from a practitioners' perspective
Background: The artifacts used in Agile software testing and the reasons why these artifacts are used are fairly well-understood. However, empirical research on how Agile test artifacts are eventually designed in practice and which quality factors make them useful for software testing remains sparse. Aims: Our objective is two-fold. First, we identify current challenges in using test artifacts to understand why certain quality factors are considered good or bad. Second, we build an Activity-Based Artifact Quality Model that describes what Agile test artifacts should look like. Method: We conduct an industrial survey with 18 practitioners from 12 companies operating in seven different domains. Results: Our analysis reveals nine challenges and 16 factors describing the quality of six test artifacts from the perspective of Agile testers. Interestingly, we observed mostly challenges regarding language and traceability, which are well-known to occur in non-Agile projects. Conclusions: Although Agile software testing is becoming the norm, we still have little confidence about general do's and don'ts going beyond conventional wisdom. This study is the first to distill a list of quality factors deemed important to what can be considered as useful test artifacts. © 2020 IEEE Computer Society. All rights reserved.open access</p